This invention relates to methods and apparatus for measuring one or more network performance parameters in a data communication network, for example the one-way delay of data packets or cells (or similar data items) transferred through such a network or the proportion of data items lost in transit.
The continuing explosive growth in telecommunications traffic has led to the development of various techniques for providing users with telecommunications service and charging for it, and for monitoring and managing operation of telecommunications networks to optimise service to users and financial return to operators. For example, network operators will typically want to monitor various parameters relating a network""s performance, in part to ensure the network""s constituent components are functioning correctly. In addition, an operator may negotiate a charge structure with a user under which the charges payable by the user are related to the xe2x80x9cquality of servicexe2x80x9d (as defined in terms of one or more network performance parameters) demanded by the user in advance or experienced during actual use. In this case both the operator and the user will wish to know what quality of service was actually attained, by reference to measurements of the relevant performance parameter(s).
To provide flexible and robust operation, data communication networks typically divide a data stream to be communicated across the network into a series of data patterns or items; these items are known by various names, depending on the network technology in use, such as packets in Ethernet networks, cells in Asynchronous Transfer Mode (ATM) networks, or frames in Frame Relay networks. For simplicity the term cell is used in the following description, with reference to ATM network technology, it being understood that this term in intended to embrace similar data patterns or items normally identified in other contexts by alternative terminologies (such as packets and frames).
Network performance parameters of interest typically include the proportion of data cells which are not successfully delivered to their intended destination (e.g. because of loss due to network congestion), the propagation delay between transmission of a cell into the network by a sending station and arrival of the cell at the receiving station, and variation of that delay with time.
It is an object of this invention to provide a method and apparatus which facilitate the measurement of network performance parameters.
According to one aspect of this invention there is provided a method of non-intrusively measuring a performance parameter of a data communication network which delivers data items in order of transmission, comprising the steps of:
observing data items at a first location in the network;
selecting data items whose contents match a first selection criterion;
storing an indication of order of occurrence at said first location of each data item selected in accordance with said first selection criterion;
observing data items at a second location in the network;
selecting data items whose contents match a second selection criterion;
storing an indication of order of occurrence at said second location of each data item selected in accordance with said second selection criterion;
correlating sequences of data items occurring at said first and second locations in terms of patterns of occurrence at said first and second locations and of said first and second selection criteria; and
determining a network performance parameter from said correlated sequences.
According to another aspect of this invention there is provided a method of selecting data items, comprising the steps of:
generating a value corresponding to a data item;
generating a compressed index from contents of the data item;
storing said value in a sequence of consecutive storage locations selected from a plurality of such locations, each storage location being able to hold a predetermined maximum number of values, and said sequence of consecutive storage locations being determined starting at a predetermined location and in dependence upon said index and upon whether each storage location has already been selected for storage of more than said maximum number of values; and
after a predetermined time interval supplying the values stored in at least the first storage location which, in sequence from said predetermined location, has been selected for storage of at most said maximum number of values.